package com.welink.cmp.statemachine.machine;

/**
 * 防火墙状态枚举类
 * 描述防火墙在不同生命周期中的状态
 */
public enum VpcState {

    /**
     * VPC处于空闲状态，未被分配使用
     */
    NEW(1),
    /**
     * VPC处于生产状态，已投入使用
     */
    ACTIVE(3),
    /**
     * VPC已报废，不再使用
     */
    RETIRED(0);

    private int code;

    VpcState(int code) {
        this.code = code;
    }

    @Override
    public String toString() {
        switch(this) {
            case NEW: return "新建";
            case ACTIVE: return "投产";
            case RETIRED: return "报废";
            default: throw new IllegalArgumentException();
        }
    }

    public int getCode() {
        return code;
    }
}